# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your MultiworldGG options are valid at this site:
#        https://multiworld.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Peggle Deluxe Template

game: Peggle Deluxe
requires:
  version: 0.7.229 # Version of MWGG required for this yaml to work as expected.
  game:
    Peggle Deluxe: 1.1.2 # Version of the world required for this yaml to work as expected.

Peggle Deluxe:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  ################
  # Goal Options #
  ################
  goal:
    # Determines the victory condition.
    # 
    # Gold Pegs + Final Level: Collect enough Gold Pegs to unlock a Final Level and clear it.
    # Gold Peg Hunt: Collect a set number of Gold Pegs spread across the multiworld.
    gold_pegs_final_level: 50
    gold_peg_hunt: 0

  gold_pegs_total:
    # Determines how many Gold Pegs are in the item pool.
    # 
    # This number will not be allowed to go over 2 * (number of levels) and will be clamped accordingly if so.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 100
    40: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-100: 0 # random value between 1 and 100

  gold_pegs_required:
    # Determines how many Gold Pegs are required to either win or unlock the final level.
    # 
    # If this number is higher than the total number of Gold Pegs, it will be set to that number instead.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 100
    30: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-100: 0 # random value between 1 and 100

  ##################
  # Master Options #
  ##################
  master_selection_mode:
    # Determines how Masters are selected for the multiworld.
    # 
    # Single Master: Only one Master will be randomly picked from your selection and usable for the entire game.
    # 
    # Multiple Masters: Multiple Masters will be randomly picked from your selection.
    # 
    #                   You will be granted a Starting Master. Others will have to be unlocked by receiving their
    #                   corresponding item before they can be used.
    single_master: 0
    multiple_masters: 50

  master_selection:
    # Determines which Masters can be considered for inclusion in the multiworld.
    # 
    # Set any Master you don't want to possibly play as to false.
    # 
    # At least one Master needs to be selected to play this implementation.
    Bjorn: true
    Claude: true
    Jimmy Lightning: true
    Kat Tut: true
    Lord Cinderbottom: true
    Master Hu: true
    Renfield: true
    Splork: true
    Tula: true
    Warren: true

  master_count:
    # Determines how many Masters will be picked from your selection for inclusion in the multiworld.
    # 
    # If this number is higher than the size of your Master selection, it will be set to that number instead.
    # 
    # If Master Selection Mode is set to Single Master, this option will be ignored and only 1 Master will be selected.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 10
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-10: 0 # random value between 1 and 10

  #################
  # Level Options #
  #################
  level_selection:
    # Determines which Levels can be considered for inclusion in the multiworld.
    # 
    # Set any Level you don't want to possibly play to false.
    # 
    # A minimum of 5 Levels must be selected to play this implementation.
    1-1 Peggleland: true
    1-2 Slip and Slide: true
    1-3 Bjorn's Gazebo: true
    1-4 Das Bucket: true
    1-5 Snow Day: true
    10-1 Spin Cycle: true
    10-2 The Dude Abides: true
    10-3 When Pigs Fly: true
    10-4 Yang, Yin: true
    10-5 Zen Frog: true
    11-1 Paw Reader: true
    11-2 End of Time: true
    11-3 Billions & Billions: true
    11-4 Don't Panic: true
    11-5 Beyond Reason: true
    2-1 Birdy's Crib: true
    2-2 Buffalo Wings: true
    2-3 Skate Park: true
    2-4 Spiral of Doom: true
    2-5 Mr. Peepers: true
    3-1 Scarab Crunch: true
    3-2 Infinite Cheese: true
    3-3 Ra Deal: true
    3-4 Croco-Gator Pit: true
    3-5 The Fever Level: true
    4-1 The Amoeban: true
    4-2 The Last Flower: true
    4-3 We Come in Peace: true
    4-4 Maid in Space: true
    4-5 Getting the Spare: true
    5-1 Pearl Clam: true
    5-2 Insane Aquarium: true
    5-3 Tasty Waves: true
    5-4 Our Favorite Eel: true
    5-5 Love Story: true
    6-1 Waves: true
    6-2 Spiderweb: true
    6-3 Blockers: true
    6-4 Baseball: true
    6-5 Vermin: true
    7-1 Holland Oats: true
    7-2 I Heart Flowers: true
    7-3 Workin from Home: true
    7-4 Tula's Ride: true
    7-5 70 and Sunny: true
    8-1 Win a Monkey: true
    8-2 Dog Pinball: true
    8-3 Spin Again: true
    8-4 Roll 'Em: true
    8-5 Five of a Kind: true
    9-1 The Love Moat: true
    9-2 Doom with a View: true
    9-3 Rhombi: true
    9-4 9 Luft Balloons: true
    9-5 Twisted Sisters: true

  level_count:
    # Determines how many Levels will be picked from your selection for inclusion in the multiworld.
    # 
    # If this number is higher than the size of your Level selection, it will be set to that number instead.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 55
    20: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-55: 0 # random value between 5 and 55

  ####################
  # Location Options #
  ####################
  include_full_clears:
    # If enabled, locations for fully clearing levels will be created when generating the multiworld.
    # 
    # WARNING: This can be extremely difficult, especially without the proper Masters to tackle each level. Be advised.
    'false': 50
    'true': 0

  ########################
  # Target Score Options #
  ########################
  target_score_requirement_mode:
    # Determines how Target Score requirements are set.
    # 
    # Same for All Levels: A single percentage will be applied to the Target Scores of all levels
    # Random per Level: Each level will have a random percentage applied to its Target Scores
    same_for_all_levels: 50
    random_per_level: 0

  target_score_requirement_percentage:
    # Determines the percentage to apply Target Scores. You will not unlock location checks until
    # you reach or exceed the Target Scores on a given level.
    # 
    # When the requirement mode is set to random per level, the specified percentage will act as the maximum possible.
    # 
    # The Peggle Deluxe Archipelago client will display the expected scores for each level under the Peggle Deluxe tab.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 50
    # Maximum value is 150
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-50-150: 0 # random value between 50 and 150

  ####################
  # Gameplay Options #
  ####################
  maximum_starting_ball_count:
    # Determines the number of balls you will start with after receiving all Progressive Starting Ball Increase items.
    # 
    # Some of the logic will pivot on this value.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 8
    # Maximum value is 20
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-8-20: 0 # random value between 8 and 20

  #######################
  # Useful Item Options #
  #######################
  useful_item_percentage:
    # Determines what percentage of filler items will get converted to useful items.
    # 
    # Useful items are: Fever Meter Permanent Bonus, Full Clear Discount, Score Multiplier, Target Score Discount.
    # 
    # These will make the game slightly easier, but are also level-specific for balance purposes.
    # 
    # The Peggle Deluxe Archipelago client will display the useful items assigned to each level under the Peggle Deluxe
    # tab.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  useful_item_weights:
    # Determines the relative weights of each useful item type when a useful item replaces a filler item.
    # 
    # Each weight needs to be at least 1.
    Fever Meter Permanent Bonus: 1
    Full Clear Discount: 1
    Score Multiplier: 1
    Target Score Discount: 1

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
